A Specification for Dependently-Typed Haskell (Extended version)

نویسندگان

  • STEPHANIE WEIRICH
  • PEDRO HENRIQUE AZEVEDO
  • DE AMORIM
  • RICHARD A. EISENBERG
  • Bryn Mawr
  • Stephanie Weirich
  • Antoine Voizard
  • Pedro Henrique Azevedo
  • Richard A. Eisenberg
چکیده

We propose a semantics for Dependent Haskell, an extension of Haskell with full-spectrum dependent types. Our semantics consists of two strongly related languages. The rst is a Curry-style dependently-typed language with nontermination, irrelevant arguments, and equality abstraction. The second, strongly inspired by GHC’s core language FC, is its explicitly-typed analogue, suitable for implementation. In contrast to prior work, our design demonstrates that homogeneous equality is compatible with explicit equality proofs. All of our results—chie y, type safety, along with theorems that relate our two semantics—have been formalized using the Coq proof assistant.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Formalising Bitonic Sort using Dependt Types

From 12.09.04 to 17.09.04, the Dagstuhl Seminar 04381 Dependently Typed Programming was held in the International Conference and Research Center (IBFI), Schloss Dagstuhl. During the seminar, several participants presented their current research, and ongoing work and open problems were discussed. Abstracts of the presentations given during the seminar as well as abstracts of seminar results and ...

متن کامل

ΠΣ: A Core Language for Dependently Typed Programming

We introduce ΠΣ, a core language for dependently typed programming. Our intention is that ΠΣ should play the role extensions of System F are playing for conventional functional languages with polymorphism, like Haskell. The core language incorporates mutual dependent recursive definitions, Type : Type, Πand Σ-types, finite sets of labels and explicit constraints. We show that standard construct...

متن کامل

A Tutorial Implementation of a Dependently Typed Lambda Calculus

We present the type rules for a dependently typed core calculus together with a straightforward implementation in Haskell. We explicitly highlight the changes necessary to shift from a simply-typed lambda calculus to the dependently typed lambda calculus. We also describe how to extend our core language with data types and write several small example programs. The article is accompanied by an e...

متن کامل

Simply Easy! An Implementation of a Dependently Typed Lambda Calculus

We present an implementation in Haskell of a dependently-typed lambda calculus that can be used as the core of a programming language. We show that a dependently-typed lambda calculus is no more difficult to implement than other typed lambda calculi. In fact, our implementation is almost as easy as an implementation of the simply typed lambda calculus, which we emphasize by discussing the modif...

متن کامل

Dependently Typed Programming Based on Automated Theorem Proving

Mella is a minimalistic dependently typed programming language and interactive theorem prover implemented in Haskell. Its main purpose is to investigate the effective integration of automated theorem provers in a pure and simple setting. Such integrations are essential for supporting program development in dependently typed languages. We integrate the equational theorem prover Waldmeister and t...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2017